case sensitive
All keyword characters are upper case, and the language is case sensitive. Thus FOR is a keyword while for , foR , For , FOr , FoR , fOr , fOR are seven valid independent symbols, but not keywords. Thus the following is valid code, though no sane programmer would ever write it.

FOR For = foR TO to STEP Step     ' FOR, TO, STEP are keywords
  PRINT For, foR, to, Step        ' For, foR, to, Step are variables
NEXT For                           ' don't ever write code like this!

names and symbols
Names or Symbols are strings of one or more characters, beginning with an alphabetic character and including all subsequent characters up to the first non-symbol character. Characters that immediately follow symbols and constitute valid type-suffixes are considered part of the symbol and determine its data type. Characters that immediately precede symbols and constitute valid scope-prefixes are considered part of the symbol and determine its scope.

type suffixes
The type suffixes that can be appended to variables to explicitly specify their data type are:

SBYTE 8-bit signed byte integer
@@  UBYTE 8-bit unsigned byte integer
%   SSHORT 16-bit signed short integer
%%  USHORT 16-bit unsigned short integer
&   SLONG 32-bit signed long integer
&&   ULONG 32-bit unsigned long integer
~   XLONG 32/64-bit signed machine integer
$$   GIANT 64-bit signed giant (financial) integer
!    SINGLE IEEE single precision floating point
#   DOUBLE IEEE double precision floating point
$   STRING String of unsigned bytes

scope prefixes
The scope prefixes that can be prepended to variables to explicitly specify their scope are:

SHARED  variable shared within a program 
##    EXTERNAL variable shared between multiple programs
$     Local Constant constant visible within one function
$$    Shared Constant constant visible throughout a program 

symbols
Most language elements are symbols. Language keywords symbols contain only upper-case characters, never a lower case character. Symbols begin with an alphabetic character followed by zero or more symbol characters, possibly terminated by a type-suffix or begun by a prefix, both of which become part of the symbol. Local and shared constants are symbols prefixed by $ and $$ , as in $PI and $$PIE .

Array names are always followed by square-brackets, though whitespace between the symbol and square brackets is permissible, so a$[j] and a$ [j] are equivalent. Function names are always followed by parentheses, though whitespace between the symbol and parentheses is permissible, so Func() and Func () are equivalent.